﻿'Imports Miron.Framework.Dal
'Imports Miron.Framework.Seguranca.Dominio

'Namespace Seguranca.Dal

'    ''' <summary>
'    ''' Interface que herda atributos da classe Usuario
'    ''' </summary>
'    ''' <remarks></remarks>
'    Public Interface IUsuarioDao
'        Inherits IGenericDao(Of Usuario)

'        ''' <summary>
'        ''' Função de busca por nome do usuário e senha
'        ''' </summary>
'        ''' <param name="_nomeUsuario">String</param>
'        ''' <param name="_senha">String</param>
'        ''' <returns>classe Usuario</returns>
'        ''' <remarks></remarks>
'        Function BuscarPorNomeUsuarioESenha(ByVal _nomeUsuario As String, ByVal _senha As String) As Usuario

'        ''' <summary>
'        ''' Função de busca por Código externo
'        ''' </summary>
'        ''' <param name="_codigoExterno">String</param>
'        ''' <returns>classe Usuario</returns>
'        ''' <remarks></remarks>
'        Function BuscarPorCodigoExterno(ByVal _codigoExterno As String) As Usuario

'        ''' <summary>
'        ''' Função que retorna o Nome pelo código externo
'        ''' </summary>
'        ''' <param name="_codigoExterno">String</param>
'        ''' <returns>String</returns>
'        ''' <remarks></remarks>
'        Function BuscarNomePorCodigoExterno(ByVal _codigoExterno As String) As String

'        ''' <summary>
'        ''' Função que retorna a Senha pelo código externo
'        ''' </summary>
'        ''' <param name="_codigoExterno">String</param>
'        ''' <returns>String</returns>
'        ''' <remarks></remarks>
'        Function BuscarSenhaPorCodigoExterno(ByVal _codigoExterno As String) As String

'        ''' <summary>
'        ''' Função que retorna o E-mail pelo código externo
'        ''' </summary>
'        ''' <param name="_codigoExterno">String</param>
'        ''' <returns>String</returns>
'        ''' <remarks></remarks>
'        Function BuscarEmailPorCodigoExterno(ByVal _codigoExterno As String) As String

'        ''' <summary>
'        ''' Função que retorna o Código Externo pelo e-mail
'        ''' </summary>
'        ''' <param name="_email">String</param>
'        ''' <returns>String</returns>
'        ''' <remarks></remarks>
'        Function BuscarCodigoExternoPorEmail(ByVal _email As String) As String

'        Function UsuarioEstaBloqueado(ByVal _login As String) As Boolean

'        Function SenhaEstahExpirada(ByVal _login As String) As Boolean

'        ''' <summary>
'        ''' Sub de alteração de senha do usuário
'        ''' </summary>
'        ''' <param name="_login">String</param>
'        ''' <param name="_senha">String</param>
'        ''' <remarks></remarks>
'        Sub AlterarSenha(ByVal _login As String, ByVal _senha As String)

'        Function BuscarUsuariosQueImpersonateUsuarioPapel(ByVal _usuario As Usuario, _
'                                                          ByVal _papel As Papel)

'        Function BuscarUsuariosPorPapel(ByVal _usuario As Usuario, _
'                                        ByVal _papel As Papel) As IList(Of Usuario)

'        Function BuscarUsuariosPorPapel(ByVal _papel As Papel) As IList(Of Usuario)

'        Function BuscarUsuariosPorPapelEUsuario(ByVal _papel As Papel, _
'                                                ByVal _usuario As Usuario) As IList(Of Usuario)

'        Function BuscarPorNome(ByVal _nome As String) As IList(Of Usuario)

'        Function BuscarPorEmail(ByVal _email As String) As IList(Of Usuario)

'        Function BuscarPorNomeEmailLogin(ByVal _nome As String, ByVal _email As String, ByVal _codigoExterno As String) As IList(Of Usuario)

'    End Interface

'End Namespace

